-
Notifications
You must be signed in to change notification settings - Fork 8
[9주차/짜장] 워크북 제출합니다 #101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 짜장/main
Are you sure you want to change the base?
[9주차/짜장] 워크북 제출합니다 #101
Conversation
|
미션 2,3을 기존했던 미션1 폴더에서 바로 이어서 진행하였습니다아........ㅠ |
| return { amount, total }; | ||
| }; | ||
|
|
||
| const initialTotals = calculateInitialTotals(cartItems); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
초기 상태에서 amount와 total을 계산해 넣어주는 로직 좋습니다!
다만 지금처럼 initialState를 만든 뒤 다시 값을 덮어쓰기보다
선언 시점에서 명시적으로 초기값을 넣어주는 방식이 더 가독성이 높고 유지보수에도 안전해 추천드립니다!
const initialTotals = calculateInitialTotals(cartItems);
const initialState: CartState = {
cartItems,
amount: initialTotals.amount,
total: initialTotals.total,
};
|
|
||
| const handleIncrement = () => { | ||
| setCount(count + 1); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
handleIncrement가 현재 코드에서는 따로 사용되고 있지 않아 제거해도 괜찮아 보입니다!
혹은 사용 의도가 있으시다면 아래 UI 부분의 onClick에 연결해 활용하는 방식도 좋습니다.
| cartItems: get().cartItems.filter((item) => item.id !== id), | ||
| }); | ||
| get().calculateTotals(); | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
최신 상태를 get()으로 가져온 뒤 set()으로 결과만 반영하는 구조가 깔끔하네요!
특히 각 액션에서 map → filter → set 흐름을 공통적으로 유지해주셔서
읽는 사람 입장에서도 로직이 직관적으로 보여서 가독성이 매우 좋은 것 같습니다!
✅ 워크북 체크리스트
✅ 컨벤션 체크리스트
📌 주안점